package lineaDeComandos;
import java.io.*;

public class Fichero {

	public static StringBuffer leeFichero(String nombreFichero) {
		File archivo = null;
		FileReader fr = null;
		BufferedReader br = null;
		StringBuffer textoFichero = new StringBuffer();
		String linea;

		try {
			// Apertura del fichero y creacion de BufferedReader para poder
			// hacer una lectura comoda (disponer del metodo readLine()).
			archivo = new File (nombreFichero);
			fr = new FileReader (archivo);
			br = new BufferedReader(fr);

			//Poner en el StringBuffer el contenido del fichero
			while((linea=br.readLine())!=null){
				textoFichero.append(linea);
				textoFichero.append(System.getProperty("line.separator"));
			}

		}
		catch(Exception e){
			e.printStackTrace();
		}finally{
			// En el finally cerramos el fichero, para asegurarnos
			// que se cierra tanto si todo va bien como si salta 
			// una excepcion.
			try{                    
				if( null != fr ){   
					fr.close();     
				}                  
			}catch (Exception e2){ 
				e2.printStackTrace();
			}
		}
		return textoFichero;
	}


	public static void escribeFichero (String nombreFichero, StringBuffer textoFichero) {
		{
			BufferedWriter fichero = null;
			try {
				fichero = new BufferedWriter(
						new FileWriter(nombreFichero));
				String textoSalida = textoFichero.toString();
				fichero.write(textoSalida);
				fichero.close();
			}
			catch (Exception e)
			{
				e.printStackTrace();
			} finally {
				try {
					// Nuevamente aprovechamos el finally para 
					// asegurarnos que se cierra el fichero.
					if (null != fichero)
						fichero.close();
				} catch (Exception e2) {
					e2.printStackTrace();
				}
			}

		}	
	}
}